Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

199
Visualizações
¿Cómo puedo encontrar archivos que terminan en ".html", pero no tienen ".bin" en ninguna parte del nombre del archivo?

Tengo los siguientes tipos de nombres de archivo:

  1. Uno termina con .html :

     l_scheduling_suite.temp.html
  2. Otro tipo termina con .html pero tiene .bin en su nombre:

     l_scheduling_suite.temp.bin.html
  3. Y un tercero termina con .bin :

     l_scheduling_suite.temp.bin

El nombre del archivo es arbitrario. No necesariamente siempre tendrá una temp antes de .html o .bin . Necesito encontrar todos los archivos que cumplan solo con el primer formato. Estoy canalizando a grep usando la siguiente expresión regular para encontrar los archivos, pero no puedo hacer que funcione:

 "(?=(\.html)$) (?=(?!\.bin))"

¿Cómo debo usar grep o find para obtener la lista correcta de archivos?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Prueba esto:

 find -type f | grep -P '^.*(?<!\.bin)\.html$'

Esto utiliza una mirada negativa hacia atrás. Básicamente significa obtener todos los nombres que terminen con .html , pero luego asegúrese de que .bin no esté antes.

over 4 years ago · Santiago Trujillo Relatório

0

Use un patrón global simple

Estás complicando enormemente el problema. Todo lo que necesita (basado en su corpus publicado) es:

 find . -name \*.temp.html

Esto encontrará todos los archivos que terminen con .temp.html . Sus otros ejemplos no coincidirían porque *.bin.html y *.temp.bin no se superponen con este patrón global.

Usar globs negados

Si su corpus fue mal elegido, y en realidad está tratando de hacer coincidir todos los archivos que terminan en .html pero que no incluyen .bin en ninguna parte del nombre, entonces puede usar la utilidad de búsqueda con un glob negado sin recurrir a expresiones regulares, tuberías, globos de caparazón extendidos u otras contorsiones. Por ejemplo:

 find . -name '*.html' -not -name '*.bin*'
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda